; Music of DCA (1991) (Black System - Tropic Soft)
; Ripped by Megachur the 19/04/2009

; Need System Vectors

	write "DCA.BIN"

music_date_rip	equ &1349
music_adr	equ &8f1b
first_theme	equ 1
last_theme	equ 1	; 1 -> 1

	read "music_header_v1_0.asm"
	
;
.init_music
;
	push af
	call #bca7
	pop af
	cp #00
	ld hl,l91c9
	jp z,#bcdd
	ld a,#01
	ld hl,l91df
	call #bcbc
	ld a,#01
	ld hl,l91e9
	call #bcbf
	ld a,#02
	ld hl,l91f0
	call #bcbc
	ld a,#02
	ld hl,l91f4
	call #bcbf
	ld a,#03
	ld hl,l91fb
	call #bcbc
	ld a,#03
	ld hl,l9202
	call #bcbf
	ld a,#04
	ld hl,l9209
	call #bcbc
	ld a,#05
	ld hl,l9216
	call #bcbc
	ld a,#06
	ld hl,l921a
	call #bcbc
	ld a,#07
	ld hl,l9224
	call #bcbc
	ld a,#08
	ld hl,l922b
	call #bcbc
	xor a
	ld (l91dd),a
	ld (l91de),a
	ld (l90d5),a
	ld a,#01
	ld (l91d8),a
	ld hl,l9233
	ld (l91db),hl
	call l905d
	ld hl,l91c9
	ld bc,#8100
	ld de,l8fa4
	jp #bcd7
;
.play_music
.l8fa4
;
	di
	push af
	push de
	push hl
	push bc
	push ix
	push iy
	call l8fbb
	pop iy
	pop ix
	pop bc
	pop hl
	pop de
	pop af
	ei
	reti
.l8fbb
	ld a,(l91d8)
	dec a
	cp #00
	jp z,l8fc8
	ld (l91d8),a
	ret
.l8fc8
	ld b,#03
	ld ix,(l91d9)
.l8fce
	push bc
	push ix
	ld de,#0001
	ld a,(ix+#00)
	cp #00
	jp z,l8fe2
	call l9039
	ld de,#0005
.l8fe2
	pop ix
	pop bc
	add ix,de
	djnz l8fce
	ld a,(ix+#00)
	inc a
	ld (l91d8),a
	inc ix
	ld (l91d9),ix
	ld a,(ix+#00)
	cp #ff
	ret nz
	xor a
	ld (l90d5),a
	jp l905d
.l9003
	ld a,#0f
	ld iy,l90fa
	jp l901e
.l900c
	ld a,#0f
	ld iy,l9103
	jp l901e
.l9015
	ld a,#0f
	ld iy,l9127
	jp l901e
.l901e
	push af
	push ix
	push iy
	ld (iy+#06),a
	call l90a7
	pop iy
	pop ix
	pop af
	dec a
	cp #09
	jp nz,l901e
	ld (iy+#06),#0f
	ret
.l9039
	ld a,(ix+#04)
	cp #10
	jp z,l9003
	cp #11
	jp z,l900c
	cp #13
	jp z,l9015
	ld iy,l90fa
.l904f
	dec a
	cp #00
	jp z,l90a7
	ld de,#0009
	add iy,de
	jp l904f
.l905d
	ld hl,(l91db)
	inc hl
	ld a,(hl)
	cp #00
	jp nz,l9075
	xor a
	ld (l91dd),a
	ld (l91de),a
	ld (l90d5),a
	ld hl,l9234
	ld a,(hl)
.l9075
	ld (l91db),hl
	cp #64
	jp z,l90e2
	cp #65
	jp z,l90ea
	ld ix,(l9232)
	ld de,l9232
	add ix,de
.l908b
	dec a
	cp #00
	jp z,l9099
	ld de,#0002
	add ix,de
	jp l908b
.l9099
	ld l,(ix+#00)
	ld h,(ix+#01)
	ld de,l9232
	add hl,de
	ld (l91d9),hl
	ret
.l90a7
	ld a,(ix+#00)
	ld (iy+#00),a
	ld l,(ix+#01)
	ld h,(ix+#02)
	call l90da
	ld (iy+#03),l
	ld (iy+#04),h
	ld a,(ix+#03)
	ld (iy+#07),a
	ld (iy+#08),#00
	push iy
	pop hl
	ld a,(l91de)
	cp #00
	jp z,#bcaa
	ld a,(ix+#00)
.l90d5 equ $ + 1
	cp #00
	jp nz,#bcaa
	ret
.l90da
	ld a,(l91dd)
	cp #00
	ret z
	add hl,hl
	ret
.l90e2
	ld a,#01
	ld (l91dd),a
	jp l905d
.l90ea
	ld a,#01
	ld (l91de),a
	inc hl
	ld a,(hl)
	ld (l90d5),a
	ld (l91db),hl
	jp l905d
.l90fa
	db #00,#01,#00,#00,#00,#00,#0f,#00
.l9103 equ $ + 1
	db #00,#00,#02,#00,#00,#00,#05,#0f
	db #00,#00,#00,#03,#00,#00,#00,#00
	db #0f,#00,#00,#00,#04,#00,#00,#00
	db #00,#00,#00,#00,#00,#02,#00,#00
.l9127 equ $ + 5
	db #00,#00,#0f,#00,#00,#00,#02,#00
	db #00,#00,#0f,#0f,#00,#00,#00,#02
	db #00,#00,#00,#19,#0f,#00,#00,#00
	db #05,#00,#00,#00,#05,#0f,#00,#00
	db #00,#05,#00,#00,#00,#0f,#0f,#00
	db #00,#00,#05,#00,#00,#00,#0f,#0f
	db #00,#00,#00,#05,#00,#00,#00,#00
	db #0f,#00,#00,#00,#03,#01,#00,#00
	db #00,#0f,#00,#00,#00,#06,#00,#00
	db #00,#01,#00,#00,#00,#00,#00,#02
	db #00,#00,#00,#0c,#00,#00,#00,#03
	db #02,#00,#00,#00,#0f,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#04,#02,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#03,#03,#00,#00
	db #00,#00,#00,#00,#00,#07,#00,#00
	db #00,#00,#00,#00,#00,#00,#08,#00
	db #00,#00,#03,#00,#00,#00,#00,#05
	db #00,#00,#00,#01,#0f,#00,#00
.l91c9
	db #00,#00,#00,#00,#00,#00,#00,#00
.l91d8 equ $ + 7
	db #00,#00,#00,#00,#00,#00,#00,#00
.l91df equ $ + 6
.l91de equ $ + 5
.l91dd equ $ + 4
.l91db equ $ + 2
.l91d9
	db #00,#00,#00,#00,#00,#00,#03,#01
	db #00,#0a,#0a,#ff,#01,#01,#00,#0a
.l91f0 equ $ + 7
.l91e9
	db #82,#14,#01,#01,#14,#ff,#01,#01
.l91f4 equ $ + 3
	db #0f,#ff,#02,#82,#03,#01,#03,#03
.l91fb equ $ + 2
	db #ff,#03,#02,#0a,#ff,#08,#05,#ff
.l9202 equ $ + 1
	db #04,#03,#50,#01,#01,#14,#02,#01
.l9209
	db #04,#01,#07,#01,#03,#02,#01,#01
.l9216 equ $ + 5
	db #00,#02,#0a,#ff,#05,#01,#0f,#ff
.l921a equ $ + 1
	db #01,#03,#01,#0a,#01,#01,#00,#04
.l9224 equ $ + 3
	db #05,#fe,#01,#02,#01,#0f,#05,#0a
.l922b equ $ + 2
	db #ff,#02,#02,#01,#0c,#01,#0c,#ff
.l9234 equ $ + 3
.l9233 equ $ + 2
.l9232 equ $ + 1
	db #01,#15,#00,#65,#02,#01,#01,#01
	db #02,#02,#65,#02,#01,#64,#01,#64
	db #01,#64,#02,#64,#02,#00,#1b,#00
	db #c0,#00,#00,#14,#01,#00,#00,#14
	db #09,#02,#aa,#01,#14,#01,#00,#09
	db #01,#00,#00,#14,#0d,#02,#d5,#00
	db #26,#0f,#00,#09,#01,#00,#00,#14
	db #08,#00,#00,#09,#01,#00,#00,#14
	db #0d,#02,#aa,#01,#14,#01,#00,#09
	db #01,#00,#00,#14,#09,#02,#ef,#00
	db #26,#0f,#00,#09,#01,#00,#00,#14
	db #09,#00,#00,#09,#01,#00,#00,#14
	db #08,#02,#38,#02,#14,#01,#00,#09
	db #01,#00,#00,#14,#09,#02,#d5,#00
	db #30,#0f,#00,#09,#01,#00,#00,#14
	db #09,#00,#00,#09,#01,#00,#00,#14
	db #0d,#00,#00,#09,#01,#00,#00,#14
	db #08,#00,#00,#09,#01,#00,#00,#14
	db #0d,#00,#00,#09,#01,#00,#00,#14
	db #09,#00,#00,#09,#01,#00,#00,#14
	db #06,#02,#de,#01,#14,#01,#00,#09
	db #01,#00,#00,#14,#02,#02,#de,#01
	db #14,#01,#00,#09,#01,#00,#00,#14
	db #06,#02,#de,#01,#14,#01,#00,#09
	db #ff,#01,#00,#00,#14,#09,#02,#3f
	db #01,#14,#01,#00,#09,#01,#00,#00
	db #14,#0d,#00,#00,#09,#01,#00,#00
	db #14,#08,#02,#1c,#01,#14,#01,#00
	db #09,#01,#00,#00,#14,#0d,#02,#3f
	db #01,#30,#0f,#00,#09,#01,#00,#00
	db #14,#09,#00,#00,#09,#01,#00,#00
	db #14,#09,#00,#00,#09,#01,#00,#00
	db #14,#08,#00,#00,#09,#01,#00,#00
	db #14,#09,#00,#00,#09,#01,#00,#00
	db #14,#09,#02,#66,#01,#14,#01,#00
	db #09,#01,#00,#00,#14,#0d,#00,#00
	db #09,#01,#00,#00,#14,#08,#02,#3f
	db #01,#14,#01,#00,#09,#01,#00,#00
	db #14,#0d,#02,#66,#01,#30,#0f,#00
	db #09,#01,#00,#00,#14,#09,#00,#00
	db #09,#01,#00,#00,#14,#09,#00,#00
	db #09,#01,#00,#00,#14,#08,#02,#3f
	db #01,#14,#01,#00,#09,#01,#00,#00
	db #14,#09,#02,#66,#01,#14,#01,#00
	db #09,#01,#00,#00,#14,#09,#02,#aa
	db #01,#14,#01,#00,#09,#01,#00,#00
	db #14,#0d,#02,#aa,#01,#96,#0f,#00
	db #09,#01,#00,#00,#14,#08,#00,#00
	db #09,#01,#00,#00,#14,#0d,#00,#00
	db #09,#01,#00,#00,#14,#09,#00,#00
	db #09,#01,#00,#00,#14,#09,#00,#00
	db #09,#01,#00,#00,#14,#08,#00,#00
	db #09,#01,#00,#00,#14,#09,#00,#00
	db #09,#01,#00,#00,#14,#09,#00,#00
	db #09,#01,#00,#00,#14,#0d,#00,#00
	db #09,#01,#00,#00,#14,#08,#00,#00
	db #09,#01,#00,#00,#14,#0d,#00,#00
	db #09,#01,#00,#00,#14,#09,#00,#00
	db #09,#01,#00,#00,#14,#06,#00,#00
	db #09,#01,#00,#00,#14,#02,#00,#00
	db #09,#01,#00,#00,#14,#06,#00,#00
	db #09,#ff,#60,#20,#dc,#e4,#dd,#22
	db #f5,#7b,#fd,#30,#22,#f3,#8b,#65
	db #fe,#00,#ca,#cd,#22,#7a,#2a,#47
	db #11,#0d,#99,#86,#7b,#05,#4f,#06
	db #00,#ed,#b0,#53,#7b,#81,#0f,#00
	db #19,#eb,#21,#56,#58,#5a,#5c,#cb
	db #5e,#4b,#11,#af,#57,#f8,#59,#5b
	db #91,#5d,#ed,#5b,#4b,#13,#13,#21
	db #6d,#e0,#8c,#70,#69,#2a,#46,#8e
	db #dd,#2a,#80,#4b,#dd,#75,#00,#dd
	db #74,#01,#21,#0b,#40,#fa,#dd,#21
	db #2f,#07,#83,#85,#c2,#87,#61,#dd
	db #19,#11,#a0,#62,#10,#60,#ef,#80
	db #47,#dd,#66,#01,#dd,#6e,#10,#00
	db #11,#02,#5c,#52,#22,#fb,#7b,#80
	db #5f,#23,#22,#fd,#7b,#23,#36,#2d
	db #06,#e5,#d1,#13,#01,#0f,#7c,#54
	db #14,#c0,#62,#64,#87,#8e,#06,#05
	db #7e,#c6,#04,#30,#12,#13,#23,#10
	db #f5,#47,#7a,#00
	
;ld a,1
;call init_music
;
.game_name
	db "DCA",0
.game_year
	db "1991",0
.game_publisher
	db "Black System - Tropic Soft",0
.music_author
	db "",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
